<?php


class Alu_model extends CI_Model 
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////
    function __construct()
    {        
        parent::__construct();
		
		$this->load->database();
    }
	
	
		function lista_tipo_producto()
	{
	
		$this -> db -> from('alu_tipo_producto');
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	
			function lista_costo_producto()
	{
	
		$this -> db -> from('alu_material_costo');
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	
	//creamos el producto
	function crearproductos($d)
	{
		$insert = array(
		'nombre_producto' => $d['nombre_producto'],
		'id_tipo_producto'	=> $d['id_tipo_producto'],
	'altura' 	=> $d['altura'],
	'ancho' 	=> $d['ancho'],
	'modulos' 	=> $d['modulos'],
	'naves' 	=> $d['naves']);
		$this -> db -> insert('alu_productos',$insert);
		//----------------------------------------------------
		$id_producto = $this->db->insert_id();
		//----------------------------------------------------
		foreach($d['id_material'] as $row){
		$insert2 = array(
		'id_producto' => $id_producto, 	
		'id_material' => $row,);
		$this -> db -> insert('alu_productos_detalle',$insert2);
		}
		//----------------------------------------------------
		}
	
	function lista_productos_creados()
	{
		$this -> db -> from('alu_productos');
		$this->db->join('alu_tipo_producto','alu_productos.id_tipo_producto = alu_tipo_producto.id_tipo_producto');
		$result = $this -> db -> get();
		return $result -> result_array();
				
	}
	
	
	//nos permite ver los parametros que contiene un producto especifico
	function Producto_parametros($id_producto)
	{
		$this -> db -> from('alu_productos');
		$this -> db -> where ('alu_productos.id_producto',$id_producto);
		$result = $this -> db -> get();
		return $result -> result_array();
				
	}
	
	
		function Producto_parametros_detalle($id_producto)
	{ 	
		$this -> db -> select('alu_material_costo.ID,alu_material_costo.REFERENCIA,alu_material_costo.DESCRIPCION,alu_productos_detalle.id as id_producto_detalle');
		$this -> db -> from('alu_productos');
		$this->db->join('alu_productos_detalle','alu_productos.id_producto = alu_productos_detalle.id_producto');
		$this->db->join('alu_material_costo','alu_material_costo.ID = alu_productos_detalle.id_material');
		$this->db->join('alu_tipo_producto','alu_productos.id_tipo_producto = alu_tipo_producto.id_tipo_producto');
		$this -> db -> where ('alu_productos.id_producto',$id_producto);
		$this -> db -> ORDER_BY('alu_material_costo.id','asc');
		$result = $this -> db -> get();
		return $result -> result_array();
				
	}
	
	
	//programaremos los valores para calcular las cantidades
	function ProgramarCant($d)
	{
			
		//----------------------------------------------------
		foreach($d['campos'] as $row => $value){
			$insert2 = array(
		'id_producto' => $d['id_producto'], 	
		'id_material' => $row,
		'programacion' => $value
		);
		$this -> db -> insert('alu_productos_detalle_cantidad',$insert2);			
			
		}
		
		//----------------------------------------------------
		}
	
	
	function obtener_proveedor($numero_documento)
	{
	
		$this -> db -> from('core_tercero');
		$this->db->join('core_proveedores','core_tercero.id_tercero = core_proveedores.id_tercero');
		$this -> db -> where('core_tercero.numero_documento',$numero_documento);
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	// obtenemos datos del proveedor de la tabla coreproveedores
	
	function obtener_proveedorid($id_proveedor)
	{
		$this -> db -> from('core_proveedores');
		$this->db->join('core_tercero','core_tercero.id_tercero = core_proveedores.id_tercero');
		$this -> db -> where('core_proveedores.id_proveedor',$id_proveedor);
		$result = $this -> db -> get();
		return $result -> result_array();
	
	}
	
	//traemos los productos dependioente del tipo.
		function Productos_por_tipo($id_tipo_producto )
	{
	
		$this -> db -> from('alu_productos');
		$this -> db -> where('alu_productos.id_tipo_producto',$id_tipo_producto);
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	
	
	//traer datos de precios de elementos
		function PreciosElementos($referencia)
	{
		$this -> db -> select('COSTO');
		$this -> db -> from('alu_material_costo');
		$this -> db -> where('alu_material_costo.REFERENCIA',$referencia);
		$result = $this -> db -> get();
		return $result -> row('COSTO');
	}
	
	//creamos los datos de manufactura del producto
	
	function manofacturaorden($d)
	{
		$insert = array(
		'id_proveedor' => $d['id_proveedor'],
		'id_producto'	=> $d['id_producto'],
	'fecha_creacion' 	=> date('Y-m-d H:i:s'),
	'cantidad' 	=> $d['cantidad_pedida'],
	'estado' 	=> 'activo');
		$this -> db -> insert('alu_man_orden',$insert);
		//----------------------------------------------------
		$id_manofactura = $this->db->insert_id();
		//----------------------------------------------------
		foreach($d['cantidades']['cantidad_cotizada'] as $clave => $row){
		$insert2 = array(
		'id_manofactura' => $id_manofactura,
		'material' => $clave, 	
		'cantidad' => $row,);
		$this -> db -> insert('alu_man_orden_materiales',$insert2);
		}
		//----------------------------------------------------
		}
	// traeremos el listado de las ordenes de manufactura dependiendo el estado.
	
	function obtlistamanufactura($estado)
	{
		//$this -> db -> select('COSTO');
		$this -> db -> from('alu_man_orden');
		$this -> db -> join ('alu_productos','alu_man_orden.id_producto = alu_productos.id_producto');
		$this -> db -> where('alu_man_orden.estado',$estado);
		$result = $this -> db -> get();
		return $result -> result_array();
	}
	
	
	function obtener_material_man($id_manufactura){
		
			$this -> db -> from('alu_man_orden');
		$this -> db -> join ('alu_man_orden_materiales','alu_man_orden.id_manufactura = alu_man_orden_materiales.id_manofactura');
		$this -> db -> where('alu_man_orden.id_manufactura',$id_manufactura);
		$result = $this -> db -> get();
		return $result -> result_array();
		
		}
		
		
		//creamos obra 
		function crearObra($d)
	   {
		$insert = array(
		'nombre' => $d['nombre_obra'],
		'direccion'	=> $d['direccion_obra'],
		'id_cliente' 	=> $d['id_cliente'],
	    'estado' 	=> 'activo');
		$this -> db -> insert('alu_obra',$insert);
		//----------------------------------------------------
		//----------------------------------------------------
		}
		
		function obtener_obrasCliente($id_cliente)
		{
		$this -> db -> from('alu_obra');
		//$this -> db -> join ('alu_man_orden_materiales','alu_man_orden.id_manufactura = alu_man_orden_materiales.id_manofactura');
		$this -> db -> where('alu_obra.id_cliente',$id_cliente);
		$result = $this -> db -> get();
		return $result -> result_array();
		}
	///FINNNN
		
}